繁体   English   中英

.htaccess删除.php并强制尾随斜杠

[英].htaccess remove .php and force trailing slash

我的根文件夹中有文件。 jobs.phpcontact.php

我希望能够使用.htaccess删除.php扩展名并强制使用尾部斜杠/ 因此, www.domain.com/jobs/www.domain.com/contact/会转到他们各自的页面。

另外,我希望jobs.domain.com指向www.domain.com/jobs/

<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteBase /

    RewriteRule ^(rosquillos)/$ $1 [L,R=301,NC]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php
</IfModule>

这是我到目前为止所做的,也是我尝试过的。 我似乎无法让它发挥作用。

任何帮助都是极好的。

编辑:

我想重新解释一下我的问题。 现有的代码为我删除了.php扩展,我现在真正需要的是一个额外的规则,将子域指向正确的文件:即。 jobs.domain.com指向jobs.php。 我可以没有拖尾的斜线生活。

你的病情:

RewriteCond %{REQUEST_FILENAME}\.php -f

如果您的网址以尾部斜杠结尾,则会失败。 但如果你只有jobscontact那么你只需要:

RewriteEngine On

# add trailing slash and redirect browser
RewriteRule ^([^/]+)$ /$1/ [L,R=301]

RewriteRule ^([^/]+)/$ /$1.php [L]

# redirect direct access to php files:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)\.php
RewriteRule ^ /%1/ [L,R=301]

哦,我忘记了:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^ /%1.php [L]

假设*.domain.comwww.domain.com具有相同的文档根目录。

暂无
暂无

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

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