这可能是关于RewriteRule的一个基本问题,但我只是不能让它发挥作用。
我想要做的是检测网址:
mydomain/myapp/id/some/random/url.html?param=somethingThatIdoUse
mydomain/myapp/id/other/randomabc/perrito.php?param=somethingThatIdoUse
...
我需要丢弃的部分来自/id/[all this]?param=somethingIdoUse
并且如果可能则使用param或者将完整的url作为参数发送,以便我可以使用正则表达式来获取参数。
并且有一条规则检测/id/
存在并重定向到:
mydomain/myapp/other/manageRequest.php?params=somethingThatIdoUse
(params我可以得到整个url并将其作为字符串剥离是没有问题的)
同样,应用程序有不同的模块,如:
mydomain/myapp/moduleOne/index.php
mydomain/myapp/moduleTwo/index.php
这必须保持同样的工作。
到目前为止,我尝试过其中一些像:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET /.*;.* HTTP/
RewriteCond %{QUERY_STRING} !^$
RewriteRule .* http://localhostdev/app/index.php %{REQUEST_URI}? [R=301,L]
RewriteEngine On
RewriteBase /spt/
RewriteCond %{REQUEST_FILENAME} !^id$ [NC]
RewriteRule ^(.*)$ index.php [R=301,L]
RewriteEngine On
RewriteCond %{REQUEST_URI} !/campaings/response\.php$
RewriteRule ^/something/(.*) /other/manageRequest.php? [L]
但没有任何东西可以做我需要的东西。
感谢您的建议
答案 0 :(得分:2)
MYDOMAIN / MyApp的/ ID /一些/无规/ url.html?PARAM = somethingThatIdoUse
以下是使用上述网址的示例:
RewriteRule ^id/some/random/url.html/? /myapp/other/manageRequest.php [L,NC]
查询将不变地传递给替换URL
答案 1 :(得分:1)
实际上最终真正成为基础:
RewriteRule ^.*id.*$ handleRequest.php [NC,L]
我确实得到了他们被发送的参数!