Igo*_*gor 5 .htaccess mod-rewrite url-rewriting pretty-urls
我正在尝试隐藏usersurl 的目录(例如:):meusite.com.br/users/teste但到目前为止还没有成功.这样通过访问meusite.com.br/teste显示文件夹里面的内容teste,如果访问URL meusite.com.br/users/teste的/users/被拆除,只展出meusite.com.br/teste.
我试过了:
RewriteCond %{REQUEST_URI} !^/users
RewriteRule (.*) /users/$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)
但我没有成功.我也尝试过:
RewriteCond %{REQUEST_URI} !^/users
RewriteRule ^/?([^/]+)$ /users/$1 [L]
Run Code Online (Sandbox Code Playgroud)
但没有奏效.
为了更好地理解,它遵循站点文件夹的部分结构:
??? users
| ??? teste
| | ??? index.html
| ??? outroteste
| ??? index.html
??? .htaccess
??? index.php
Run Code Online (Sandbox Code Playgroud)
正如我的文件'htaccess`已经:
<IfModule mod_rewrite.c>
RewriteEngine On
# Rewrites the requested http to https.
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Hide GET variables link.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^posts/(.*) posts.php?p=$1
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我希望你能提供帮助.
users您可以在重定向规则下方使用隐藏规则:
DirectorySlash Off
RewriteEngine On
# Rewrites the requested http to https.
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]
# add a trailing slash to directories
RewriteCond %{DOCUMENT_ROOT}/users/$1/ -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302,NE]
RewriteCond %{THE_REQUEST} /users/(\S*)\s [NC]
RewriteRule ^ /%1 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?((?!users/).*)$ users/$1 [L,NC]
# Hide GET variables link.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^posts/(.*) posts.php?p=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
但请记住,它会将所有内容转发,从而/users/使您的最后一条规则失效。
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |