2016-08-14 142 views
2

我想从URL删除文件名和扩展名删除,我有一个目录(博客)和两个文件在里面(Main_blogs.php)和(blog.php的)从网址的.htaccess

本地主机/SikandarIqbal.net/blogs/

当我在目录中打开Main_blog.php“博客”我得到上面的网址,我能得到这个htaccess文件:

DirectorySlash Off 
DirectoryIndex disabled 
RewriteEngine on 
# prevent direct access to PHP files 
RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule \.php$ - [R=404,L] 
# rewrite requests for a directory to index.php 
RewriteCond %{REQUEST_FILENAME}/Main_blogs.php -f 
RewriteRule ^.*$ $0/Main_blogs.php [L] 

,当我打开来自Main_blog.php的特定博客URL变成

本地主机/ Sikandariqbal.net /博客/ blog.php的/我 - 博客名

我真正想要的是喜欢的东西

本地主机/ Sikandariqbal.net /博客/我的-Blog名


删除之间/博客的文件名blog.php的/和/我 - 博客名

请帮助!
感谢

回答

0

您需要为此额外的规则:

DirectorySlash Off 
DirectoryIndex disabled 
RewriteEngine on 

# prevent direct access to PHP files 
RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule \.php$ - [R=404,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(Blogs)/page/(\d+)?$ $1/?pn=$2 [L,NC,QSA] 

# rewrite requests for a Blogs/Blog.php/<url> 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(Blogs)/([\w-]+)/?$ $1/Blog.php/$2 [L,NC] 

# rewrite requests for a directory to Main_blogs.php 
RewriteCond %{REQUEST_FILENAME}/Main_blogs.php -f 
RewriteRule ^.*$ $0/Main_blogs.php [L] 
+0

它不工作 错误 对象不存在! 在此服务器上找不到请求的URL。如果您手动输入网址,请检查拼写并重试。 –

+0

确定它的工作,如果我手动更改url并将其调整为htaccess中的设置,但是当我通过锚点打开它会自动添加tht文件名,现在,这是锚点 Open 需要进行哪些更改才能正常工作。 –

+0

htaccess你给我工作正常,如果我添加url像mysite /博客/我的博客名称...但与主播它不会 –