繁体   English   中英

基于动态URL htaccess进行重写

[英]rewrite based on dynamic url htaccess

我将网站设置为生产或开发人员。 在生产模式下,访问example.com将允许所有动态页面重写工作,在开发人员中,访问ip xxx.xxx.xxx.xx /〜sitename也将允许使用以下htaccess代码重写动态页面:

# RewriteBase equivalent - Production
RewriteCond %{HTTP_HOST} !^localhost$
RewriteRule . - [E=REWRITEBASE:/]

# RewriteBase equivalent - Development
RewriteCond %{HTTP_HOST} ^xx\.xx\.xx\.xx$
RewriteRule . - [E=REWRITEBASE:/~countryr/]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/-]+)/?$ %{ENV:REWRITEBASE}page.php?pid=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ %{ENV:REWRITEBASE}blog-detail.php?url=$1 [QSA,L]

但是我不总是知道用户名/〜之后会出现什么,在此代码示例中,用户名是countryr,所以我可以告诉htaccess重写为/〜countryr并起作用,但是有没有办法动态传递它? 因此,如果它的/〜mysite或/〜site2仍然可以使用? 我不想在所有网站的htaccess文件中写用户名..很多网站。

您可以使用以下方式动态捕获用户名:

RewriteCond %{HTTP_HOST} ^64\.6\.104\.14$
RewriteCond %{REQUEST_URI} ^(/~[^/]+)
RewriteRule . - [E=REWRITEBASE:%1/]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM