Ich muss eine Bedingung für eine Mod-Rewrite-URL-Regel schreiben, um festzustellen, welche Seite gerade ausgeführt wird.htaccess: Bedingung, um zu überprüfen, ob die Zeichenkette in der Anfrage ist
Die RewriteRule
Ich benutze funktioniert gut, aber das Problem ist, dass ich die gleiche Regel für zwei verschiedene URLs verwenden muss.
RewriteRule ^testing/([^/]*)$ /index.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^testing/([^/]*)$ /test.php?url=$1&name=&submit=submit [NC,L]
Ohne Umschreiben Bedingungen gesetzt, wenn example.com/testing/
im Browser die ersten RewriteRule
in htaccess
Zugabe wird verwendet, ob ich auf index.php
oder test.php
bin.
Heres ein paar der RewriteCond
Ich habe versucht:
RewriteCond %{REQUEST_FILENAME} /test.php$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ (test\.php)/ [NC]
RewriteCond %{THE_REQUEST} \s/+(test\.php)/ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /test\.php/
Und Heres die volle .htaccess-Datei Code:
Options +FollowSymLinks
RewriteEngine on
## check if on index.php ##
RewriteCond %{THE_REQUEST} ^.*\/index.php\/.*$ ## not working ##
## if on index.php do this ##
RewriteRule ^testing/([^/]*)$ /index.php?url=$1&name=&submit=submit [NC,L]
## check if on test.php ##
RewriteCond %{THE_REQUEST} ^.*\/test.php\/.*$ ## not working ##
## If on test.php do this ##
RewriteRule ^testing/([^/]*)$ /test.php?url=$1&name=&submit=submit [NC,L]
Wie kann ich der erste (index.php) rewriteRule
zu arbeiten o n index.php
, aber wenn auf der test.php
Seite die erste Regel ignorieren und die zweite verwenden?
Danke :)
EDIT: Nur um zu klären. Ich möchte nicht umleiten. Ich möchte nur den Wert von testing/
basierend auf welcher Seite ich bin ändern. Wie ich bereits erwähnt habe, funktioniert die rewriteRule bereits gut.
Sie können das nicht tun. Mit Ihrem Link '/ testing/...' ist es nicht möglich zu wissen, ob es für 'index.php' oder für' test.php' ist. Sie können Ihre Verknüpfung mit einem Code oder Namen 'testingi' und' testingt' zum Beispiel ändern, oder 'teste/i ...' usw. – Croises
Das ist, was die Bedingung sein soll. Die Idee ist, wenn 'index.php' im Skriptnamen ist, dann führe die Regel aus, wenn nicht, dann tue nicht. Wenn 'test.php' im Skriptnamen ist, dann führe diese Regel aus. wenn nicht, dann nicht. –
In der URL% {HTTP_REFERER}? Da Sie Ihren Link neu schreiben, wenn Sie ihn verwenden, nicht den Skriptnamen ... – Croises